﻿using WorldDesign.Datas;
using Zdap.Common;

namespace Datav.Design.IService
{
    /// <summary>
    ///
    /// </summary>
    public interface IProjectService
    {
        /// <summary>
        ///
        /// </summary>
        /// <param name="caseProjecId"></param>
        /// <param name="currentUser"></param>
        /// <returns></returns>
        ValueTask<ResponseContext<long>> CopyDatas(long caseProjecId, UserTicket currentUser);

        /// <summary>
        ///
        /// </summary>
        /// <param name="sourceDirectory"></param>
        /// <param name="zipFilePath"></param>
        /// <returns></returns>
        Task CreateZipFromDirectoryAsync(string sourceDirectory, string zipFilePath);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="dto"></param>
        /// <param name="currentUser"></param>
        /// <returns></returns>
        ValueTask<ResponseContext<long>> Save(ProjectModelDto dto, UserTicket currentUser);
        /// <summary>
        /// 
        /// </summary>
        /// <param name="id"></param>
        /// <param name="name"></param>
        /// <param name="user"></param>
        /// <returns></returns>
        ValueTask<ResponseContext<bool>> Name(long id, string name, UserTicket user);
    }
}